package evemanutool.gui.general.tabel;
import java.awt.Component;
import java.awt.Image;
import java.util.ArrayList;
import java.util.Arrays;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
import evemanutool.constants.DBConstants.Trend;
import evemanutool.constants.GUIConstants;
@SuppressWarnings("serial")
public class TrendEnumCellRenderer extends DefaultTableCellRenderer implements GUIConstants {
private ArrayList<ImageIcon> scaledIcons = new ArrayList<>();
public TrendEnumCellRenderer(int rowHeight) {
setHorizontalAlignment(CENTER);
ImageIcon tmp;
for (String path : TREND_ICON_PATHS) {
tmp = new ImageIcon(path);
tmp.setImage(tmp.getImage().getScaledInstance(rowHeight, rowHeight, Image.SCALE_SMOOTH));
scaledIcons.add(tmp);
}
}
@Override
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
JLabel c = (JLabel) super.getTableCellRendererComponent(table,
value, isSelected, hasFocus, row, column);
c.setText("");
//Icon.
int index = Arrays.asList(TRENDS).indexOf((Trend) value);
c.setToolTipText(TREND_ICON_TIPS[index]);
c.setIcon(scaledIcons.get(index));
return c;
}
}